package com.ruoyi.iot.mapper;

import com.ruoyi.iot.domain.entity.DeviceAlarmRecord;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 设备告警记录Mapper
 */
@Mapper
public interface DeviceAlarmRecordMapper {

    /**
     * 批量新增告警记录
     *
     * @param records 告警记录列表
     * @return 影响行数
     */
    int insertBatch(@Param("list") List<DeviceAlarmRecord> records);

    /**
     * 统计指定时间范围内不同等级的预警数量
     *
     * @param deviceId 设备编号
     * @param start    开始时间（含）
     * @param end      结束时间（不含）
     * @return 统计结果Map
     */
    Map<String, Object> countByLevel(@Param("deviceId") String deviceId,
                                     @Param("start") LocalDateTime start,
                                     @Param("end") LocalDateTime end);
}
